package com.sikaryofficial.system.domain.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.sikaryofficial.common.core.annotation.CustomerDateDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author : qinjinyuan
 * @desc : TODO  请填写你的功能描述
 * @date : 2024/04/07 15:02
 */
@Getter
@Setter
@ToString
@ApiModel(value = "新增用户统计入参", description = "新增用户统计入参")
public class TrendReq {

    @JsonDeserialize(using = CustomerDateDeserializer.class)
    @ApiModelProperty(value = "查询开始时间", example = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "startTime is null")
    private Date startTime;

    @JsonDeserialize(using = CustomerDateDeserializer.class)
    @ApiModelProperty(value = "查询结束时间", example = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "endTime is null")
    private Date endTime;

    @ApiModelProperty(value = "时间类型:day-天,week-周,month-月,quarter-季度,year-年", example = "day")
    @NotBlank(message = "timeType is black")
    private String timeType;

    @JsonIgnore
    private Integer startQuarter;

    @JsonIgnore
    private Integer endQuarter;

    @JsonIgnore
    private Integer startWeek;

    @JsonIgnore
    private Integer endWeek;
}
